home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_uu.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  6KB  |  190 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''
  5. Tests for uu module.
  6. Nick Mathewson
  7. '''
  8. import unittest
  9. from test import test_support
  10. import sys
  11. import os
  12. import uu
  13. import cStringIO
  14. import uu
  15. from StringIO import StringIO
  16. plaintext = 'The smooth-scaled python crept over the sleeping dog\n'
  17. encodedtext = 'M5&AE(\'-M;V]T:"US8V%L960@<\'ET:&]N(&-R97!T(&]V97(@=&AE(\'-L965P\n(:6YG(&1O9PH '
  18. encodedtextwrapped = 'begin %03o %s\n' + encodedtext.replace('%', '%%') + '\n \nend\n'
  19.  
  20. class UUTest(unittest.TestCase):
  21.     
  22.     def test_encode(self):
  23.         inp = cStringIO.StringIO(plaintext)
  24.         out = cStringIO.StringIO()
  25.         uu.encode(inp, out, 't1')
  26.         self.assertEqual(out.getvalue(), encodedtextwrapped % (438, 't1'))
  27.         inp = cStringIO.StringIO(plaintext)
  28.         out = cStringIO.StringIO()
  29.         uu.encode(inp, out, 't1', 420)
  30.         self.assertEqual(out.getvalue(), encodedtextwrapped % (420, 't1'))
  31.  
  32.     
  33.     def test_decode(self):
  34.         inp = cStringIO.StringIO(encodedtextwrapped % (438, 't1'))
  35.         out = cStringIO.StringIO()
  36.         uu.decode(inp, out)
  37.         self.assertEqual(out.getvalue(), plaintext)
  38.         inp = cStringIO.StringIO('UUencoded files may contain many lines,\n' + "even some that have 'begin' in them.\n" + encodedtextwrapped % (438, 't1'))
  39.         out = cStringIO.StringIO()
  40.         uu.decode(inp, out)
  41.         self.assertEqual(out.getvalue(), plaintext)
  42.  
  43.     
  44.     def test_truncatedinput(self):
  45.         inp = cStringIO.StringIO('begin 644 t1\n' + encodedtext)
  46.         out = cStringIO.StringIO()
  47.         
  48.         try:
  49.             uu.decode(inp, out)
  50.             self.fail('No exception thrown')
  51.         except uu.Error:
  52.             e = None
  53.             self.assertEqual(str(e), 'Truncated input file')
  54.  
  55.  
  56.     
  57.     def test_missingbegin(self):
  58.         inp = cStringIO.StringIO('')
  59.         out = cStringIO.StringIO()
  60.         
  61.         try:
  62.             uu.decode(inp, out)
  63.             self.fail('No exception thrown')
  64.         except uu.Error:
  65.             e = None
  66.             self.assertEqual(str(e), 'No valid begin line found in input file')
  67.  
  68.  
  69.  
  70.  
  71. class UUStdIOTest(unittest.TestCase):
  72.     
  73.     def setUp(self):
  74.         self.stdin = sys.stdin
  75.         self.stdout = sys.stdout
  76.  
  77.     
  78.     def tearDown(self):
  79.         sys.stdin = self.stdin
  80.         sys.stdout = self.stdout
  81.  
  82.     
  83.     def test_encode(self):
  84.         sys.stdin = cStringIO.StringIO(plaintext)
  85.         sys.stdout = cStringIO.StringIO()
  86.         uu.encode('-', '-', 't1', 438)
  87.         self.assertEqual(sys.stdout.getvalue(), encodedtextwrapped % (438, 't1'))
  88.  
  89.     
  90.     def test_decode(self):
  91.         sys.stdin = cStringIO.StringIO(encodedtextwrapped % (438, 't1'))
  92.         sys.stdout = cStringIO.StringIO()
  93.         uu.decode('-', '-')
  94.         self.assertEqual(sys.stdout.getvalue(), plaintext)
  95.  
  96.  
  97.  
  98. class UUFileTest(unittest.TestCase):
  99.     
  100.     def _kill(self, f):
  101.         
  102.         try:
  103.             f.close()
  104.         except (SystemExit, KeyboardInterrupt):
  105.             raise 
  106.         except:
  107.             pass
  108.  
  109.         
  110.         try:
  111.             os.unlink(f.name)
  112.         except (SystemExit, KeyboardInterrupt):
  113.             raise 
  114.         except:
  115.             pass
  116.  
  117.  
  118.     
  119.     def setUp(self):
  120.         self.tmpin = test_support.TESTFN + 'i'
  121.         self.tmpout = test_support.TESTFN + 'o'
  122.  
  123.     
  124.     def tearDown(self):
  125.         del self.tmpin
  126.         del self.tmpout
  127.  
  128.     
  129.     def test_encode(self):
  130.         
  131.         try:
  132.             fin = open(self.tmpin, 'wb')
  133.             fin.write(plaintext)
  134.             fin.close()
  135.             fin = open(self.tmpin, 'rb')
  136.             fout = open(self.tmpout, 'w')
  137.             uu.encode(fin, fout, self.tmpin, mode = 420)
  138.             fin.close()
  139.             fout.close()
  140.             fout = open(self.tmpout, 'r')
  141.             s = fout.read()
  142.             fout.close()
  143.             self.assertEqual(s, encodedtextwrapped % (420, self.tmpin))
  144.         finally:
  145.             self._kill(fin)
  146.             self._kill(fout)
  147.  
  148.  
  149.     
  150.     def test_decode(self):
  151.         
  152.         try:
  153.             f = open(self.tmpin, 'wb')
  154.             f.write(encodedtextwrapped % (420, self.tmpout))
  155.             f.close()
  156.             f = open(self.tmpin, 'rb')
  157.             uu.decode(f)
  158.             f.close()
  159.             f = open(self.tmpout, 'r')
  160.             s = f.read()
  161.             f.close()
  162.             self.assertEqual(s, plaintext)
  163.         finally:
  164.             self._kill(f)
  165.  
  166.  
  167.     
  168.     def test_decodetwice(self):
  169.         
  170.         try:
  171.             f = cStringIO.StringIO(encodedtextwrapped % (420, self.tmpout))
  172.             f = open(self.tmpin, 'rb')
  173.             uu.decode(f)
  174.             f.close()
  175.             f = open(self.tmpin, 'rb')
  176.             self.assertRaises(uu.Error, uu.decode, f)
  177.             f.close()
  178.         finally:
  179.             self._kill(f)
  180.  
  181.  
  182.  
  183.  
  184. def test_main():
  185.     test_support.run_unittest(UUTest, UUStdIOTest, UUFileTest)
  186.  
  187. if __name__ == '__main__':
  188.     test_main()
  189.  
  190.